#ifndef LOOPTHREAD
#define LOOPTHREAD

#include <condition_variable>
#include <thread>

class EventLoop;

class LoopThread
{
private:
    /*实例化_loop对象，然后开始运行对应的功能*/
    void ThreadEntry();

public:
    /*创建线程，设定线程入口函数*/
    LoopThread();
    ~LoopThread();
    /*获取当前的loop对象*/
    EventLoop *getLoop();

private:
    /* 实现loop获取的同步关系，避免线程创建了，但是loop还没有实例化之前去获取loop*/
    std::mutex _mutex;
    std::condition_variable _cond;
    EventLoop *_loop;
    std::thread _thread;
};

#endif